package com.hu.video.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;


@Configuration // 声明该类为配置类
public class CORSConfiguration {

    // 定义一个名为"corsConfigurer"的Bean
    @Bean
    public WebMvcConfigurer corsConfigurer() {

        // 创建一个匿名的WebMvcConfigurerAdapter子类实例，并重写addCorsMappings方法
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {

                // 对于所有的请求路径，允许来自任意来源的跨域请求
                registry.addMapping("/**")
                        .allowedOrigins("*")
                        // 允许使用的HTTP方法
                        .allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS")
                        // 不支持发送Cookie
                        .allowCredentials(false)
                        // 预检请求结果的缓存时间，单位为秒
                        .maxAge(3600);
            }
        };
    }
}
